home *** CD-ROM | disk | FTP | other *** search
/ Micromanía 92 / CDMM92_1.ISO / SOF 2 SDK / sof2sdk-101.msi / _92D6AC311BB48EBA344BBABC89DA6AB0 / _2B06DBDC0EFB41D7B8243B41CC10E633 < prev    next >
Encoding:
Text File  |  2002-06-05  |  21.9 KB  |  509 lines

  1. // Copyright (C) 2001-2002 Raven Software
  2. //
  3. /*****************************************************************************
  4.  * name:        botlib.h
  5.  *
  6.  * desc:        bot AI library
  7.  *
  8.  * $Archive: /source/code/game/botai.h $
  9.  * $Author: Mrelusive $ 
  10.  * $Revision: 2 $
  11.  * $Modtime: 03/01/00 3:32p $
  12.  * $Date: 03/01/00 3:42p $
  13.  *
  14.  *****************************************************************************/
  15.  
  16. #define    BOTLIB_API_VERSION        2
  17.  
  18. struct aas_clientmove_s;
  19. struct aas_entityinfo_s;
  20. struct aas_areainfo_s;
  21. struct aas_altroutegoal_s;
  22. struct aas_predictroute_s;
  23. struct bot_consolemessage_s;
  24. struct bot_match_s;
  25. struct bot_goal_s;
  26. struct bot_moveresult_s;
  27. struct bot_initmove_s;
  28. struct weaponinfo_s;
  29.  
  30. #define BOTFILESBASEFOLDER        "botfiles"
  31. //debug line colors
  32. #define LINECOLOR_NONE            -1
  33. #define LINECOLOR_RED            1//0xf2f2f0f0L
  34. #define LINECOLOR_GREEN            2//0xd0d1d2d3L
  35. #define LINECOLOR_BLUE            3//0xf3f3f1f1L
  36. #define LINECOLOR_YELLOW        4//0xdcdddedfL
  37. #define LINECOLOR_ORANGE        5//0xe0e1e2e3L
  38.  
  39. //Print types
  40. #define PRT_MESSAGE                1
  41. #define PRT_WARNING                2
  42. #define PRT_ERROR                3
  43. #define PRT_FATAL                4
  44. #define PRT_EXIT                5
  45.  
  46. //console message types
  47. #define CMS_NORMAL                0
  48. #define CMS_CHAT                1
  49.  
  50. //botlib error codes
  51. #define BLERR_NOERROR                    0    //no error
  52. #define BLERR_LIBRARYNOTSETUP            1    //library not setup
  53. #define BLERR_INVALIDENTITYNUMBER        2    //invalid entity number
  54. #define BLERR_NOAASFILE                    3    //no AAS file available
  55. #define BLERR_CANNOTOPENAASFILE            4    //cannot open AAS file
  56. #define BLERR_WRONGAASFILEID            5    //incorrect AAS file id
  57. #define BLERR_WRONGAASFILEVERSION        6    //incorrect AAS file version
  58. #define BLERR_CANNOTREADAASLUMP            7    //cannot read AAS file lump
  59. #define BLERR_CANNOTLOADICHAT            8    //cannot load initial chats
  60. #define BLERR_CANNOTLOADITEMWEIGHTS        9    //cannot load item weights
  61. #define BLERR_CANNOTLOADITEMCONFIG        10    //cannot load item config
  62. #define BLERR_CANNOTLOADWEAPONWEIGHTS    11    //cannot load weapon weights
  63. #define BLERR_CANNOTLOADWEAPONCONFIG    12    //cannot load weapon config
  64.  
  65. //action flags
  66. #define ACTION_ATTACK            0x0000001
  67. #define ACTION_USE                0x0000002
  68. #define ACTION_RESPAWN            0x0000008
  69. #define ACTION_JUMP                0x0000010
  70. #define ACTION_MOVEUP            0x0000020
  71. #define ACTION_CROUCH            0x0000080
  72. #define ACTION_MOVEDOWN            0x0000100
  73. #define ACTION_MOVEFORWARD        0x0000200
  74. #define ACTION_MOVEBACK            0x0000800
  75. #define ACTION_MOVELEFT            0x0001000
  76. #define ACTION_MOVERIGHT        0x0002000
  77. #define ACTION_DELAYEDJUMP        0x0008000
  78. #define ACTION_TALK                0x0010000
  79. #define ACTION_GESTURE            0x0020000
  80. #define ACTION_WALK                0x0080000
  81. #define ACTION_FORCEPOWER        0x0100000
  82. #define ACTION_ALT_ATTACK        0x0200000
  83. /*
  84. #define ACTION_AFFIRMATIVE        0x0100000
  85. #define ACTION_NEGATIVE            0x0200000
  86. #define ACTION_GETFLAG            0x0800000
  87. #define ACTION_GUARDBASE        0x1000000
  88. #define ACTION_PATROL            0x2000000
  89. #define ACTION_FOLLOWME            0x8000000
  90. */
  91.  
  92. //the bot input, will be converted to an usercmd_t
  93. typedef struct bot_input_s
  94. {
  95.     float thinktime;        //time since last output (in seconds)
  96.     vec3_t dir;                //movement direction
  97.     float speed;            //speed in the range [0, 400]
  98.     vec3_t viewangles;        //the view angles
  99.     int actionflags;        //one of the ACTION_? flags
  100.     int weapon;                //weapon to use
  101. } bot_input_t;
  102.  
  103. #ifndef BSPTRACE
  104.  
  105. #define BSPTRACE
  106.  
  107. //bsp_trace_t hit surface
  108. typedef struct bsp_surface_s
  109. {
  110.     char name[16];
  111.     int flags;
  112.     int value;
  113. } bsp_surface_t;
  114.  
  115. //remove the bsp_trace_s structure definition l8r on
  116. //a trace is returned when a box is swept through the world
  117. typedef struct bsp_trace_s
  118. {
  119.     qboolean        allsolid;    // if true, plane is not valid
  120.     qboolean        startsolid;    // if true, the initial point was in a solid area
  121.     float            fraction;    // time completed, 1.0 = didn't hit anything
  122.     vec3_t            endpos;        // final position
  123.     cplane_t        plane;        // surface normal at impact
  124.     float            exp_dist;    // expanded plane distance
  125.     int                sidenum;    // number of the brush side hit
  126.     bsp_surface_t    surface;    // the hit point surface
  127.     int                contents;    // contents on other side of surface hit
  128.     int                ent;        // number of entity hit
  129. } bsp_trace_t;
  130.  
  131. #endif    // BSPTRACE
  132.  
  133. //entity state
  134. typedef struct bot_entitystate_s
  135. {
  136.     int        type;            // entity type
  137.     int        flags;            // entity flags
  138.     vec3_t    origin;            // origin of the entity
  139.     vec3_t    angles;            // angles of the model
  140.     vec3_t    old_origin;        // for lerping
  141.     vec3_t    mins;            // bounding box minimums
  142.     vec3_t    maxs;            // bounding box maximums
  143.     int        groundent;        // ground entity
  144.     int        solid;            // solid type
  145.     int        modelindex;        // model used
  146.     int        modelindex2;    // weapons, CTF flags, etc
  147.     int        frame;            // model frame number
  148.     int        event;            // impulse events -- muzzle flashes, footsteps, etc
  149.     int        eventParm;        // even parameter
  150.     int        gametypeitems;    // bit flags
  151.     int        weapon;            // determines weapon and flash model, etc
  152.     int        legsAnim;        // mask off ANIM_TOGGLEBIT
  153.     int        torsoAnim;        // mask off ANIM_TOGGLEBIT
  154. } bot_entitystate_t;
  155.  
  156. //bot AI library exported functions
  157. typedef struct botlib_import_s
  158. {
  159.     //print messages from the bot library
  160.     void        (QDECL *Print)(int type, char *fmt, ...);
  161.     //trace a bbox through the world
  162.     void        (*Trace)(bsp_trace_t *trace, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int passent, int contentmask);
  163.     //trace a bbox against a specific entity
  164.     void        (*EntityTrace)(bsp_trace_t *trace, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int entnum, int contentmask);
  165.     //retrieve the contents at the given point
  166.     int            (*PointContents)(vec3_t point);
  167.     //check if the point is in potential visible sight
  168.     int            (*inPVS)(vec3_t p1, vec3_t p2);
  169.     //retrieve the BSP entity data lump
  170.     char        *(*BSPEntityData)(void);
  171.     //
  172.     void        (*BSPModelMinsMaxsOrigin)(int modelnum, vec3_t angles, vec3_t mins, vec3_t maxs, vec3_t origin);
  173.     //send a bot client command
  174.     void        (*BotClientCommand)(int client, char *command);
  175.     //memory allocation
  176.     void        *(*GetMemory)(int size);        // allocate from Zone
  177.     void        (*FreeMemory)(void *ptr);        // free memory from Zone
  178.     int            (*AvailableMemory)(void);        // available Zone memory
  179.     void        *(*HunkAlloc)(int size);        // allocate from hunk
  180.     //file system access
  181.     int            (*FS_FOpenFile)( const char *qpath, fileHandle_t *file, fsMode_t mode );
  182.     int            (*FS_Read)( void *buffer, int len, fileHandle_t f );
  183.     int            (*FS_Write)( const void *buffer, int len, fileHandle_t f );
  184.     void        (*FS_FCloseFile)( fileHandle_t f );
  185.     int            (*FS_Seek)( fileHandle_t f, long offset, int origin );
  186.     //debug visualisation stuff
  187.     int            (*DebugLineCreate)(void);
  188.     void        (*DebugLineDelete)(int line);
  189.     void        (*DebugLineShow)(int line, vec3_t start, vec3_t end, int color);
  190.     //
  191.     int            (*DebugPolygonCreate)(int color, int numPoints, vec3_t *points);
  192.     void        (*DebugPolygonDelete)(int id);
  193. } botlib_import_t;
  194.  
  195. typedef struct aas_export_s
  196. {
  197.     //-----------------------------------
  198.     // be_aas_entity.h
  199.     //-----------------------------------
  200.     void        (*AAS_EntityInfo)(int entnum, struct aas_entityinfo_s *info);
  201.     //-----------------------------------
  202.     // be_aas_main.h
  203.     //-----------------------------------
  204.     int            (*AAS_Initialized)(void);
  205.     void        (*AAS_PresenceTypeBoundingBox)(int presencetype, vec3_t mins, vec3_t maxs);
  206.     float        (*AAS_Time)(void);
  207.     //--------------------------------------------
  208.     // be_aas_sample.c
  209.     //--------------------------------------------
  210.     int            (*AAS_PointAreaNum)(vec3_t point);
  211.     int            (*AAS_PointReachabilityAreaIndex)( vec3_t point );
  212.     int            (*AAS_TraceAreas)(vec3_t start, vec3_t end, int *areas, vec3_t *points, int maxareas);
  213.     int            (*AAS_BBoxAreas)(vec3_t absmins, vec3_t absmaxs, int *areas, int maxareas);
  214.     int            (*AAS_AreaInfo)( int areanum, struct aas_areainfo_s *info );
  215.     //--------------------------------------------
  216.     // be_aas_bspq3.c
  217.     //--------------------------------------------
  218.     int            (*AAS_PointContents)(vec3_t point);
  219.     int            (*AAS_NextBSPEntity)(int ent);
  220.     int            (*AAS_ValueForBSPEpairKey)(int ent, char *key, char *value, int size);
  221.     int            (*AAS_VectorForBSPEpairKey)(int ent, char *key, vec3_t v);
  222.     int            (*AAS_FloatForBSPEpairKey)(int ent, char *key, float *value);
  223.     int            (*AAS_IntForBSPEpairKey)(int ent, char *key, int *value);
  224.     //--------------------------------------------
  225.     // be_aas_reach.c
  226.     //--------------------------------------------
  227.     int            (*AAS_AreaReachability)(int areanum);
  228.     //--------------------------------------------
  229.     // be_aas_route.c
  230.     //--------------------------------------------
  231.     int            (*AAS_AreaTravelTimeToGoalArea)(int areanum, vec3_t origin, int goalareanum, int travelflags);
  232.     int            (*AAS_EnableRoutingArea)(int areanum, int enable);
  233.     int            (*AAS_PredictRoute)(struct aas_predictroute_s *route, int areanum, vec3_t origin,
  234.                             int goalareanum, int travelflags, int maxareas, int maxtime,
  235.                             int stopevent, int stopcontents, int stoptfl, int stopareanum);
  236.     //--------------------------------------------
  237.     // be_aas_altroute.c
  238.     //--------------------------------------------
  239.     int            (*AAS_AlternativeRouteGoals)(vec3_t start, int startareanum, vec3_t goal, int goalareanum, int travelflags,
  240.                                         struct aas_altroutegoal_s *altroutegoals, int maxaltroutegoals,
  241.                                         int type);
  242.     //--------------------------------------------
  243.     // be_aas_move.c
  244.     //--------------------------------------------
  245.     int            (*AAS_Swimming)(vec3_t origin);
  246.     int            (*AAS_PredictClientMovement)(struct aas_clientmove_s *move,
  247.                                             int entnum, vec3_t origin,
  248.                                             int presencetype, int onground,
  249.                                             vec3_t velocity, vec3_t cmdmove,
  250.                                             int cmdframes,
  251.                                             int maxframes, float frametime,
  252.                                             int stopevent, int stopareanum, int visualize);
  253. } aas_export_t;
  254.  
  255. typedef struct ea_export_s
  256. {
  257.     //ClientCommand elementary actions
  258.     void    (*EA_Command)(int client, char *command );
  259.     void    (*EA_Say)(int client, char *str);
  260.     void    (*EA_SayTeam)(int client, char *str);
  261.     //
  262.     void    (*EA_Action)(int client, int action);
  263.     void    (*EA_Gesture)(int client);
  264.     void    (*EA_Talk)(int client);
  265.     void    (*EA_Attack)(int client);
  266.     void    (*EA_Use)(int client);
  267.     void    (*EA_Respawn)(int client);
  268.     void    (*EA_MoveUp)(int client);
  269.     void    (*EA_MoveDown)(int client);
  270.     void    (*EA_MoveForward)(int client);
  271.     void    (*EA_MoveBack)(int client);
  272.     void    (*EA_MoveLeft)(int client);
  273.     void    (*EA_MoveRight)(int client);
  274.     void    (*EA_Crouch)(int client);
  275.     void    (*EA_Alt_Attack)(int client);
  276.     void    (*EA_ForcePower)(int client);
  277.  
  278.     void    (*EA_SelectWeapon)(int client, int weapon);
  279.     void    (*EA_Jump)(int client);
  280.     void    (*EA_DelayedJump)(int client);
  281.     void    (*EA_Move)(int client, vec3_t dir, float speed);
  282.     void    (*EA_View)(int client, vec3_t viewangles);
  283.     //send regular input to the server
  284.     void    (*EA_EndRegular)(int client, float thinktime);
  285.     void    (*EA_GetInput)(int client, float thinktime, bot_input_t *input);
  286.     void    (*EA_ResetInput)(int client);
  287. } ea_export_t;
  288.  
  289. typedef struct ai_export_s
  290. {
  291.     //-----------------------------------
  292.     // be_ai_char.h
  293.     //-----------------------------------
  294.     int        (*BotLoadCharacter)(char *charfile, float skill);
  295.     void    (*BotFreeCharacter)(int character);
  296.     float    (*Characteristic_Float)(int character, int index);
  297.     float    (*Characteristic_BFloat)(int character, int index, float min, float max);
  298.     int        (*Characteristic_Integer)(int character, int index);
  299.     int        (*Characteristic_BInteger)(int character, int index, int min, int max);
  300.     void    (*Characteristic_String)(int character, int index, char *buf, int size);
  301.     //-----------------------------------
  302.     // be_ai_chat.h
  303.     //-----------------------------------
  304.     int        (*BotAllocChatState)(void);
  305.     void    (*BotFreeChatState)(int handle);
  306.     void    (*BotQueueConsoleMessage)(int chatstate, int type, char *message);
  307.     void    (*BotRemoveConsoleMessage)(int chatstate, int handle);
  308.     int        (*BotNextConsoleMessage)(int chatstate, struct bot_consolemessage_s *cm);
  309.     int        (*BotNumConsoleMessages)(int chatstate);
  310.     void    (*BotInitialChat)(int chatstate, char *type, int mcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7);
  311.     int        (*BotNumInitialChats)(int chatstate, char *type);
  312.     int        (*BotReplyChat)(int chatstate, char *message, int mcontext, int vcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7);
  313.     int        (*BotChatLength)(int chatstate);
  314.     void    (*BotEnterChat)(int chatstate, int client, int sendto);
  315.     void    (*BotGetChatMessage)(int chatstate, char *buf, int size);
  316.     int        (*StringContains)(char *str1, char *str2, int casesensitive);
  317.     int        (*BotFindMatch)(char *str, struct bot_match_s *match, unsigned long int context);
  318.     void    (*BotMatchVariable)(struct bot_match_s *match, int variable, char *buf, int size);
  319.     void    (*UnifyWhiteSpaces)(char *string);
  320.     void    (*BotReplaceSynonyms)(char *string, unsigned long int context);
  321.     int        (*BotLoadChatFile)(int chatstate, char *chatfile, char *chatname);
  322.     void    (*BotSetChatGender)(int chatstate, int gender);
  323.     void    (*BotSetChatName)(int chatstate, char *name, int client);
  324.     //-----------------------------------
  325.     // be_ai_goal.h
  326.     //-----------------------------------
  327.     void    (*BotResetGoalState)(int goalstate);
  328.     void    (*BotResetAvoidGoals)(int goalstate);
  329.     void    (*BotRemoveFromAvoidGoals)(int goalstate, int number);
  330.     void    (*BotPushGoal)(int goalstate, struct bot_goal_s *goal);
  331.     void    (*BotPopGoal)(int goalstate);
  332.     void    (*BotEmptyGoalStack)(int goalstate);
  333.     void    (*BotDumpAvoidGoals)(int goalstate);
  334.     void    (*BotDumpGoalStack)(int goalstate);
  335.     void    (*BotGoalName)(int number, char *name, int size);
  336.     int        (*BotGetTopGoal)(int goalstate, struct bot_goal_s *goal);
  337.     int        (*BotGetSecondGoal)(int goalstate, struct bot_goal_s *goal);
  338.     int        (*BotChooseLTGItem)(int goalstate, vec3_t origin, int *inventory, int travelflags);
  339.     int        (*BotChooseNBGItem)(int goalstate, vec3_t origin, int *inventory, int travelflags,
  340.                                 struct bot_goal_s *ltg, float maxtime);
  341.     int        (*BotTouchingGoal)(vec3_t origin, struct bot_goal_s *goal);
  342.     int        (*BotItemGoalInVisButNotVisible)(int viewer, vec3_t eye, vec3_t viewangles, struct bot_goal_s *goal);
  343.     int        (*BotGetLevelItemGoal)(int index, char *classname, struct bot_goal_s *goal);
  344.     int        (*BotGetNextCampSpotGoal)(int num, struct bot_goal_s *goal);
  345.     int        (*BotGetMapLocationGoal)(char *name, struct bot_goal_s *goal);
  346.     float    (*BotAvoidGoalTime)(int goalstate, int number);
  347.     void    (*BotSetAvoidGoalTime)(int goalstate, int number, float avoidtime);
  348.     void    (*BotInitLevelItems)(void);
  349.     void    (*BotUpdateEntityItems)(void);
  350.     int        (*BotLoadItemWeights)(int goalstate, char *filename);
  351.     void    (*BotFreeItemWeights)(int goalstate);
  352.     void    (*BotInterbreedGoalFuzzyLogic)(int parent1, int parent2, int child);
  353.     void    (*BotSaveGoalFuzzyLogic)(int goalstate, char *filename);
  354.     void    (*BotMutateGoalFuzzyLogic)(int goalstate, float range);
  355.     int        (*BotAllocGoalState)(int client);
  356.     void    (*BotFreeGoalState)(int handle);
  357.     //-----------------------------------
  358.     // be_ai_move.h
  359.     //-----------------------------------
  360.     void    (*BotResetMoveState)(int movestate);
  361.     void    (*BotMoveToGoal)(struct bot_moveresult_s *result, int movestate, struct bot_goal_s *goal, int travelflags);
  362.     int        (*BotMoveInDirection)(int movestate, vec3_t dir, float speed, int type);
  363.     void    (*BotResetAvoidReach)(int movestate);
  364.     void    (*BotResetLastAvoidReach)(int movestate);
  365.     int        (*BotReachabilityArea)(vec3_t origin, int testground);
  366.     int        (*BotMovementViewTarget)(int movestate, struct bot_goal_s *goal, int travelflags, float lookahead, vec3_t target);
  367.     int        (*BotPredictVisiblePosition)(vec3_t origin, int areanum, struct bot_goal_s *goal, int travelflags, vec3_t target);
  368.     int        (*BotAllocMoveState)(void);
  369.     void    (*BotFreeMoveState)(int handle);
  370.     void    (*BotInitMoveState)(int handle, struct bot_initmove_s *initmove);
  371.     void    (*BotAddAvoidSpot)(int movestate, vec3_t origin, float radius, int type);
  372.     //-----------------------------------
  373.     // be_ai_weap.h
  374.     //-----------------------------------
  375.     int        (*BotChooseBestFightWeapon)(int weaponstate, int *inventory);
  376.     void    (*BotGetWeaponInfo)(int weaponstate, int weapon, struct weaponinfo_s *weaponinfo);
  377.     int        (*BotLoadWeaponWeights)(int weaponstate, char *filename);
  378.     int        (*BotAllocWeaponState)(void);
  379.     void    (*BotFreeWeaponState)(int weaponstate);
  380.     void    (*BotResetWeaponState)(int weaponstate);
  381.     //-----------------------------------
  382.     // be_ai_gen.h
  383.     //-----------------------------------
  384.     int        (*GeneticParentsAndChildSelection)(int numranks, float *ranks, int *parent1, int *parent2, int *child);
  385. } ai_export_t;
  386.  
  387. //bot AI library imported functions
  388. typedef struct botlib_export_s
  389. {
  390.     //Area Awareness System functions
  391.     aas_export_t aas;
  392.     //Elementary Action functions
  393.     ea_export_t ea;
  394.     //AI functions
  395.     ai_export_t ai;
  396.     //setup the bot library, returns BLERR_
  397.     int (*BotLibSetup)(void);
  398.     //shutdown the bot library, returns BLERR_
  399.     int (*BotLibShutdown)(void);
  400.     //sets a library variable returns BLERR_
  401.     int (*BotLibVarSet)(char *var_name, char *value);
  402.     //gets a library variable returns BLERR_
  403.     int (*BotLibVarGet)(char *var_name, char *value, int size);
  404.  
  405.     //sets a C-like define returns BLERR_
  406.     int (*PC_AddGlobalDefine)(char *string);
  407.     int (*PC_LoadSourceHandle)(const char *filename);
  408.     int (*PC_FreeSourceHandle)(int handle);
  409.     int (*PC_ReadTokenHandle)(int handle, pc_token_t *pc_token);
  410.     int (*PC_SourceFileAndLine)(int handle, char *filename, int *line);
  411.     int (*PC_LoadGlobalDefines)(const char* filename );
  412.     void (*PC_RemoveAllGlobalDefines) ( void );
  413.  
  414.     //start a frame in the bot library
  415.     int (*BotLibStartFrame)(float time);
  416.     //load a new map in the bot library
  417.     int (*BotLibLoadMap)(const char *mapname);
  418.     //entity updates
  419.     int (*BotLibUpdateEntity)(int ent, bot_entitystate_t *state);
  420.     //just for testing
  421.     int (*Test)(int parm0, char *parm1, vec3_t parm2, vec3_t parm3);
  422. } botlib_export_t;
  423.  
  424. //linking of bot library
  425. botlib_export_t *GetBotLibAPI( int apiVersion, botlib_import_t *import );
  426.  
  427. /* Library variables:
  428.  
  429. name:                        default:            module(s):            description:
  430.  
  431. "basedir"                    ""                    l_utils.c            base directory
  432. "gamedir"                    ""                    l_utils.c            game directory
  433. "cddir"                        ""                    l_utils.c            CD directory
  434.  
  435. "log"                        "0"                    l_log.c                enable/disable creating a log file
  436. "maxclients"                "4"                    be_interface.c        maximum number of clients
  437. "maxentities"                "1024"                be_interface.c        maximum number of entities
  438. "bot_developer"                "0"                    be_interface.c        bot developer mode
  439.  
  440. "phys_friction"                "6"                    be_aas_move.c        ground friction
  441. "phys_stopspeed"            "100"                be_aas_move.c        stop speed
  442. "phys_gravity"                "800"                be_aas_move.c        gravity value
  443. "phys_waterfriction"        "1"                    be_aas_move.c        water friction
  444. "phys_watergravity"            "400"                be_aas_move.c        gravity in water
  445. "phys_maxvelocity"            "320"                be_aas_move.c        maximum velocity
  446. "phys_maxwalkvelocity"        "320"                be_aas_move.c        maximum walk velocity
  447. "phys_maxcrouchvelocity"    "100"                be_aas_move.c        maximum crouch velocity
  448. "phys_maxswimvelocity"        "150"                be_aas_move.c        maximum swim velocity
  449. "phys_walkaccelerate"        "10"                be_aas_move.c        walk acceleration
  450. "phys_airaccelerate"        "1"                    be_aas_move.c        air acceleration
  451. "phys_swimaccelerate"        "4"                    be_aas_move.c        swim acceleration
  452. "phys_maxstep"                "18"                be_aas_move.c        maximum step height
  453. "phys_maxsteepness"            "0.7"                be_aas_move.c        maximum floor steepness
  454. "phys_maxbarrier"            "32"                be_aas_move.c        maximum barrier height
  455. "phys_maxwaterjump"            "19"                be_aas_move.c        maximum waterjump height
  456. "phys_jumpvel"                "270"                be_aas_move.c        jump z velocity
  457. "phys_falldelta5"            "40"                be_aas_move.c
  458. "phys_falldelta10"            "60"                be_aas_move.c
  459. "rs_waterjump"                "400"                be_aas_move.c
  460. "rs_teleport"                "50"                be_aas_move.c
  461. "rs_barrierjump"            "100"                be_aas_move.c
  462. "rs_startcrouch"            "300"                be_aas_move.c
  463. "rs_startgrapple"            "500"                be_aas_move.c
  464. "rs_startwalkoffledge"        "70"                be_aas_move.c
  465. "rs_startjump"                "300"                be_aas_move.c
  466. "rs_rocketjump"                "500"                be_aas_move.c
  467. "rs_bfgjump"                "500"                be_aas_move.c
  468. "rs_jumppad"                "250"                be_aas_move.c
  469. "rs_aircontrolledjumppad"    "300"                be_aas_move.c
  470. "rs_funcbob"                "300"                be_aas_move.c
  471. "rs_startelevator"            "50"                be_aas_move.c
  472. "rs_falldamage5"            "300"                be_aas_move.c
  473. "rs_falldamage10"            "500"                be_aas_move.c
  474. "rs_maxjumpfallheight"        "450"                be_aas_move.c
  475.  
  476. "max_aaslinks"                "4096"                be_aas_sample.c        maximum links in the AAS
  477. "max_routingcache"            "4096"                be_aas_route.c        maximum routing cache size in KB
  478. "forceclustering"            "0"                    be_aas_main.c        force recalculation of clusters
  479. "forcereachability"            "0"                    be_aas_main.c        force recalculation of reachabilities
  480. "forcewrite"                "0"                    be_aas_main.c        force writing of aas file
  481. "aasoptimize"                "0"                    be_aas_main.c        enable aas optimization
  482. "sv_mapChecksum"            "0"                    be_aas_main.c        BSP file checksum
  483. "bot_visualizejumppads"        "0"                    be_aas_reach.c        visualize jump pads
  484.  
  485. "bot_reloadcharacters"        "0"                    -                    reload bot character files
  486. "ai_gametype"                "0"                    be_ai_goal.c        game type
  487. "droppedweight"                "1000"                be_ai_goal.c        additional dropped item weight
  488. "weapindex_rocketlauncher"    "5"                    be_ai_move.c        rl weapon index for rocket jumping
  489. "weapindex_bfg10k"            "9"                    be_ai_move.c        bfg weapon index for bfg jumping
  490. "weapindex_grapple"            "10"                be_ai_move.c        grapple weapon index for grappling
  491. "entitytypemissile"            "3"                    be_ai_move.c        ET_MISSILE
  492. "offhandgrapple"            "0"                    be_ai_move.c        enable off hand grapple hook
  493. "cmd_grappleon"                "grappleon"            be_ai_move.c        command to activate off hand grapple
  494. "cmd_grappleoff"            "grappleoff"        be_ai_move.c        command to deactivate off hand grapple
  495. "itemconfig"                "items.c"            be_ai_goal.c        item configuration file
  496. "weaponconfig"                "weapons.c"            be_ai_weap.c        weapon configuration file
  497. "synfile"                    "syn.c"                be_ai_chat.c        file with synonyms
  498. "rndfile"                    "rnd.c"                be_ai_chat.c        file with random strings
  499. "matchfile"                    "match.c"            be_ai_chat.c        file with match strings
  500. "nochat"                    "0"                    be_ai_chat.c        disable chats
  501. "max_messages"                "1024"                be_ai_chat.c        console message heap size
  502. "max_weaponinfo"            "32"                be_ai_weap.c        maximum number of weapon info
  503. "max_projectileinfo"        "32"                be_ai_weap.c        maximum number of projectile info
  504. "max_iteminfo"                "256"                be_ai_goal.c        maximum number of item info
  505. "max_levelitems"            "256"                be_ai_goal.c        maximum number of level items
  506.  
  507. */
  508.  
  509.